x,y=1,2
# 1 0b01
# 2 0b10
print(bin(x),bin(y))

print(f"{y} 和 1 进行按位与运算结果为: {y & 1}") 


# 定义一个函数，使用异或运算交换两个数的值
# 异或运算：相同为0，不同为1
def swap(a, b):
    # 第一步：a变为a^b
    a = a ^ b
    # 第二步：b变为a^b^b，即a
    b = a ^ b
    # 第三步：a变为a^b^a，即b
    a = a ^ b
    # 返回交换后的a和b
    return a, b

# 初始化x和y的值
m, n = 5, 3

# m 0b101
# n 0b011
# 1. m=m^n = 0b110  m = 6
# 2. n=m^n = 0b110 ^ 0b011 = 0b101 = 5
# 3. n=m^n = 0b110 ^ 0b101 = 0b0011 =3


print(bin(m),bin(n))

# 调用swap函数交换x和y
m, n = swap(m, n)
# 打印交换后的m和n
print(f"交换后: m={m}, n={n}")


